'\" et
.TH MAILX "1P" 2017 "IEEE/The Open Group" "POSIX Programmer's Manual"
.\"
.SH PROLOG
This manual page is part of the POSIX Programmer's Manual.
The Linux implementation of this interface may differ (consult
the corresponding Linux manual page for details of Linux behavior),
or the interface may not be implemented on Linux.
.\"
.SH NAME
mailx
\(em process messages
.SH SYNOPSIS
.SS "Send Mode"
.sp
.RS 4
.nf

mailx \fB[\fR-s \fIsubject\fB]\fI address\fR...
.fi
.P
.RE
.SS "Receive Mode"
.sp
.RS 4
.nf

mailx -e
.P
mailx \fB[\fR-HiNn\fB] [\fR-F\fB] [\fR-u \fIuser\fB]\fR
.P
mailx -f \fB[\fR-HiNn\fB] [\fR-F\fB] [\fIfile\fB]\fR
.fi
.P
.RE
.SH DESCRIPTION
The
.IR mailx
utility provides a message sending and receiving facility. It has two
major modes, selected by the options used: Send Mode and Receive
Mode.
.P
On systems that do not support the User Portability Utilities option,
an application using
.IR mailx
shall have the ability to send messages in an unspecified manner (Send
Mode). Unless the first character of one or more lines is
<tilde>
(\c
.BR '\(ti' ),
all characters in the input message shall appear in the delivered
message, but additional characters may be inserted in the message
before it is retrieved.
.P
On systems supporting the User Portability Utilities option,
mail-receiving capabilities and other interactive features, Receive
Mode, described below, also shall be enabled.
.SS "Send Mode"
.P
Send Mode can be used by applications or users to send messages from
the text in standard input.
.SS "\*!Receive Mode"
.P
Receive Mode is more oriented towards interactive users. Mail can be read
and sent in this interactive mode.
.P
When reading mail,
.IR mailx
provides commands to facilitate saving, deleting, and responding to
messages. When sending mail,
.IR mailx
allows editing, reviewing, and other modification of the message as it
is entered.
.P
Incoming mail shall be stored in one or more unspecified locations for
each user, collectively called the system
.IR mailbox
for that user. When
.IR mailx
is invoked in Receive Mode, the system mailbox shall be the default
place to find new mail. As messages are read, they shall be marked to
be moved to a secondary file for storage, unless specific action is
taken. This secondary file is called the
.BR mbox
and is normally located in the directory referred to by the
.IR HOME
environment variable (see
.IR MBOX
in the ENVIRONMENT VARIABLES section for a description of this file).
Messages shall remain in this file until explicitly removed. When the
.BR \-f
option is used to read mail messages from secondary files, messages
shall be retained in those files unless specifically removed. All
three of these locations\(emsystem mailbox,
.BR mbox ,
and secondary file\(emare referred to in this section as simply
``mailboxes'', unless more specific identification is required.
.SH OPTIONS
The
.IR mailx
utility shall conform to the Base Definitions volume of POSIX.1\(hy2017,
.IR "Section 12.2" ", " "Utility Syntax Guidelines".
.P
The following options shall be supported. (Only the
.BR \-s
.IR subject
option shall be required on all systems. The other options are required
only on systems supporting the User Portability Utilities option.)
.IP "\fB\-e\fP" 10
Test for the presence of mail in the system mailbox. The
.IR mailx
utility shall write nothing and exit with a successful return code if
there is mail to read.
.IP "\fB\-f\fP" 10
Read messages from the file named by the
.IR file
operand instead of the system mailbox. (See also
.BR folder .)
If no
.IR file
operand is specified, read messages from
.BR mbox
instead of the system mailbox.
.IP "\fB\-F\fP" 10
Record the message in a file named after the first recipient. The name
is the login-name portion of the address found first on the
.BR To:
line in the mail header. Overrides the
.BR record
variable, if set (see
.IR "Internal Variables in mailx").
.IP "\fB\-H\fP" 10
Write a header summary only.
.IP "\fB\-i\fP" 10
Ignore interrupts. (See also
.BR ignore .)
.IP "\fB\-n\fP" 10
Do not initialize from the system default start-up file. See the
EXTENDED DESCRIPTION section.
.IP "\fB\-N\fP" 10
Do not write an initial header summary.
.IP "\fB\-s\0\fIsubject\fR" 10
Set the
.BR Subject
header field to
.IR subject .
All characters in the
.IR subject
string shall appear in the delivered message. The results are
unspecified if
.IR subject
is longer than
{LINE_MAX}
\- 10 bytes or contains a
<newline>.
.IP "\fB\-u\0\fIuser\fR" 10
Read the system mailbox of the login name
.IR user .
This shall only be successful if the invoking user has appropriate
privileges to read the system mailbox of that user.
.SH OPERANDS
The following operands shall be supported:
.IP "\fIaddress\fR" 10
Addressee of message. When
.BR \-n
is specified and no user start-up files are accessed (see the EXTENDED
DESCRIPTION section), the user or application shall ensure this is an
address to pass to the mail delivery system. Any system or user
start-up files may enable aliases (see
.BR alias
under
.IR "Commands in mailx")
that may modify the form of
.IR address
before it is passed to the mail delivery system.
.IP "\fIfile\fR" 10
A pathname of a file to be read instead of the system mailbox when
.BR \-f
is specified. The meaning of the
.IR file
option-argument shall be affected by the contents of the
.BR folder
internal variable; see
.IR "Internal Variables in mailx".
.SH STDIN
When
.IR mailx
is invoked in Send Mode (the first synopsis line), standard input shall
be the message to be delivered to the specified addresses.
When in Receive Mode, user commands shall be accepted from
.IR stdin .
If the User Portability Utilities option is not supported, standard
input lines beginning with a
<tilde>
(\c
.BR '\(ti' )
character produce unspecified results.
.P
If the User Portability Utilities option is supported, then in both
Send and Receive Modes, standard input lines beginning with the escape
character (usually
<tilde>
(\c
.BR '\(ti' ))
shall affect processing as described in
.IR "Command Escapes in mailx".
.SH "INPUT FILES"
When
.IR mailx
is used as described by this volume of POSIX.1\(hy2017, the
.IR file
option-argument (see the
.BR \-f
option) and the
.BR mbox
shall be text files containing mail messages, formatted as described in
the OUTPUT FILES section. The nature of the system mailbox is
unspecified; it need not be a file.
.SH "ENVIRONMENT VARIABLES"
Some of the functionality described in this section shall be provided on
implementations that support the User Portability Utilities option
as described in the text, and is not further shaded for this option.
.P
The following environment variables shall affect the execution of
.IR mailx :
.IP "\fIDEAD\fP" 10
Determine the pathname of the file in which to save partial messages in
case of interrupts or delivery errors. The default shall be
.BR dead.letter
in the directory named by the
.IR HOME
variable. The behavior of
.IR mailx
in saving partial messages is unspecified if the User Portability
Utilities option is not supported and
.IR DEAD
is not defined with the value
.BR /dev/null .
.IP "\fIEDITOR\fP" 10
Determine the name of a utility to invoke when the
.BR edit
(see
.IR "Commands in mailx")
or
.BR ~e
(see
.IR "Command Escapes in mailx")
command is used. The default editor is unspecified.
On XSI-conformant systems it is
.IR ed .
The effects of this variable are unspecified if the User Portability
Utilities option is not supported.
.IP "\fIHOME\fP" 10
Determine the pathname of the user's home directory.
.IP "\fILANG\fP" 10
Provide a default value for the internationalization variables that are
unset or null. (See the Base Definitions volume of POSIX.1\(hy2017,
.IR "Section 8.2" ", " "Internationalization Variables"
for the precedence of internationalization variables used to determine
the values of locale categories.)
.IP "\fILC_ALL\fP" 10
If set to a non-empty string value, override the values of all the
other internationalization variables.
.IP "\fILC_CTYPE\fP" 10
Determine the locale for the interpretation of sequences of bytes of
text data as characters (for example, single-byte as opposed to
multi-byte characters in arguments and input files) and the handling of
case-insensitive address and header-field comparisons.
.IP "\fILC_TIME\fP" 10
This variable may determine the format and contents of the date and
time strings written by
.IR mailx .
This volume of POSIX.1\(hy2017 specifies the effects of this variable only for systems
supporting the User Portability Utilities option.
.IP "\fILC_MESSAGES\fP" 10
.br
Determine the locale that should be used to affect the format and
contents of diagnostic messages written to standard error and
informative messages written to standard output.
.IP "\fILISTER\fP" 10
Determine a string representing the command for writing the contents of
the
.BR folder
directory to standard output when the
.BR folders
command is given (see
.BR folders
in
.IR "Commands in mailx").
Any string acceptable as a
.IR command_string
operand to the
.IR sh
.BR \-c
command shall be valid. If this variable is null or not set, the output
command shall be
.IR ls .
The effects of this variable are unspecified if the User Portability
Utilities option is not supported.
.IP "\fIMAILRC\fP" 10
Determine the pathname of the user start-up file. The default shall be
.BR .mailrc
in the directory referred to by the
.IR HOME
environment variable. The behavior of
.IR mailx
is unspecified if the User Portability Utilities option is not
supported and
.IR MAILRC
is not defined with the value
.BR /dev/null .
.IP "\fIMBOX\fP" 10
Determine a pathname of the file to save messages from the system
mailbox that have been read. The
.BR exit
command shall override this function, as shall saving the message
explicitly in another file. The default shall be
.BR mbox
in the directory named by the
.IR HOME
variable. The effects of this variable are unspecified if the User
Portability Utilities option is not supported.
.IP "\fINLSPATH\fP" 10
Determine the location of message catalogs for the processing of
.IR LC_MESSAGES .
.IP "\fIPAGER\fP" 10
Determine a string representing an output filtering or pagination
command for writing the output to the terminal. Any string acceptable
as a
.IR command_string
operand to the
.IR sh
.BR \-c
command shall be valid. When standard output is a terminal device, the
message output shall be piped through the command if the
.IR mailx
internal variable
.BR crt
is set to a value less the number of lines in the message; see
.IR "Internal Variables in mailx".
If the
.IR PAGER
variable is null or not set, the paginator shall be either
.IR more
or another paginator utility documented in the system documentation.
The effects of this variable are unspecified if the User Portability
Utilities option is not supported.
.IP "\fISHELL\fP" 10
Determine the name of a preferred command interpreter. The default
shall be
.IR sh .
The effects of this variable are unspecified if the User Portability
Utilities option is not supported.
.IP "\fITERM\fP" 10
If the internal variable
.BR screen
is not specified, determine the name of the terminal type to indicate
in an unspecified manner the number of lines in a screenful of headers.
If
.IR TERM
is not set or is set to null, an unspecified default terminal type
shall be used and the value of a screenful is unspecified. The effects
of this variable are unspecified if the User Portability Utilities
option is not supported.
.IP "\fITZ\fP" 10
This variable may determine the timezone used to calculate date and
time strings written by
.IR mailx .
If
.IR TZ
is unset or null, an unspecified default timezone shall be used.
.IP "\fIVISUAL\fP" 10
Determine a pathname of a utility to invoke when the
.BR visual
command (see
.IR "Commands in mailx")
or
.BR ~v
command-escape (see
.IR "Command Escapes in mailx")
is used. If this variable is null or not set, the full-screen editor
shall be
.IR vi .
The effects of this variable are unspecified if the User Portability
Utilities option is not supported.
.SH "ASYNCHRONOUS EVENTS"
When
.IR mailx
is in Send Mode and standard input is not a terminal, it shall take the
standard action for all signals.
.P
In
Receive Mode, or in
Send Mode when standard input is a terminal, if a SIGINT signal
is received:
.IP " 1." 4
If in command mode, the current command, if there is one, shall be
aborted, and a command-mode prompt shall be written.
.IP " 2." 4
If in input mode:
.RS 4 
.IP " a." 4
If
.BR ignore
is set,
.IR mailx
shall write
.BR \(dq@\en\(dq ,
discard the current input line, and continue processing, bypassing the
message-abort mechanism described in item 2b.
.IP " b." 4
If the interrupt was received while sending mail, either when in
Receive Mode or in
Send Mode, a message shall be written, and another
subsequent interrupt, with no other intervening characters typed, shall
be required to abort the mail message.
If in Receive Mode and another
interrupt is received, a command-mode prompt shall be written.
If in Send Mode and another interrupt is received,
.IR mailx
shall terminate with a non-zero status.
.RS 4 
.P
In both cases listed in item b, if the message is not empty:
.IP " i." 5
If
.BR save
is enabled and the file named by
.IR DEAD
can be created, the message shall be written to the file named by
.IR DEAD .
If the file exists, the message shall be written to replace the
contents of the file.
.IP ii. 5
If
.BR save
is not enabled, or
the file named by
.IR DEAD
cannot be created, the message shall not be saved.
.RE
.RE
.P
The
.IR mailx
utility shall take the standard action for all other signals.
.SH STDOUT
In command and input modes, all output, including prompts and messages,
shall be written to standard output.
.SH STDERR
The standard error shall be used only for diagnostic messages.
.SH "OUTPUT FILES"
Various
.IR mailx
commands and command escapes can create or add to files, including the
.BR mbox ,
the dead-letter file, and secondary mailboxes. When
.IR mailx
is used as described in this volume of POSIX.1\(hy2017, these files shall be text files,
formatted as follows:
.sp
.RS
\fRline beginning with \fBFrom<space>
.br
[\fRone or more \fIheader-lines\fR; see
.IR "Commands in mailx"]
.br
\fIempty line
.br
\fB[\fRzero or more \fIbody lines
.br
\fIempty line]
.br
\fB[\fRline beginning with \fBFrom<space>...]\fR
.RE
.P
where each message begins with the
.BR "From\0<space>"
line shown, preceded by the beginning of the file or an empty line.
(The
.BR "From <space>"
line is considered to be part of the message header, but not one of the
header-lines referred to in
.IR "Commands in mailx";
thus, it shall not be affected by the
.BR discard ,
.BR ignore ,
or
.BR retain
commands.) The formats of the remainder of the
.BR "From <space>"
line and any additional header lines are unspecified, except that none
shall be empty. The format of a message body line is also unspecified,
except that no line following an empty line shall start with
.BR "From <space>" ;
.IR mailx
shall modify any such user-entered message body lines (following an
empty line and beginning with
.BR "From <space>" )
by adding one or more characters to precede the
.BR 'F' ;
it may add these characters to
.BR "From <space>"
lines that are not preceded by an empty line.
.P
When a message from the system mailbox or entered by the user is not a
text file, it is implementation-defined how such a message is stored
in files written by
.IR mailx .
.SH "EXTENDED DESCRIPTION"
The functionality in the entire EXTENDED DESCRIPTION section shall
be provided on implementations supporting the User Portability
Utilities option.
The functionality described in this section shall be provided on
implementations that support the User Portability Utilities option
(and the rest of this section is not further shaded for this option).
.P
The
.IR mailx
utility need not support for all character encodings in all
circumstances. For example, inter-system mail may be restricted to
7-bit data by the underlying network, 8-bit data need not be portable
to non-internationalized systems, and so on. Under these
circumstances, it is recommended that only characters defined in the
ISO/IEC\ 646:\|1991 standard International Reference Version (equivalent to ASCII) 7-bit range
of characters be used.
.P
When
.IR mailx
is invoked using one of the Receive Mode synopsis forms, it shall write
a page of header-summary lines (if
.BR \-N
was not specified and there are messages, see below), followed by a
prompt indicating that
.IR mailx
can accept regular commands (see
.IR "Commands in mailx");
this is termed
.IR "command mode" .
The page of header-summary lines shall contain the first new message if
there are new messages, or the first unread message if there are unread
messages, or the first message. When
.IR mailx
is invoked using the Send Mode synopsis and standard input is a
terminal, if no subject is specified on the command line and the
.BR asksub
variable is set, a prompt for the subject shall be written. At this
point,
.IR mailx
shall be in input mode. This input mode shall also be entered when using
one of the Receive Mode synopsis forms and a reply or new message is
composed using the
.BR reply ,
.BR Reply ,
.BR followup ,
.BR Followup ,
or
.BR mail
commands and standard input is a terminal. When the message is typed
and the end of the message is encountered, the message shall be passed to
the mail delivery software. Commands can be entered by beginning a line
with the escape character (by default,
<tilde>
(\c
.BR '\(ti' ))
followed by a single command letter and optional arguments. See
.IR "Commands in mailx"
for a summary of these commands. It is unspecified what effect these
commands will have if standard input is not a terminal when a message
is entered using either the Send Mode synopsis, or the Read Mode
commands
.BR reply ,
.BR Reply ,
.BR followup ,
.BR Followup ,
or
.BR mail .
.TP 10
.BR Note:
For notational convenience, this section uses the default escape
character,
<tilde>,
in all references and examples.
.P
.P
At any time, the behavior of
.IR mailx
shall be governed by a set of environmental and internal variables.
These are flags and valued parameters that can be set and cleared via
the
.IR mailx
.BR set
and
.BR unset
commands.
.P
Regular commands are of the form:
.sp
.RS 4
.nf

\fB[\fIcommand\fB] [\fImsglist\fB] [\fIargument \fR...\fB]
.fi
.P
.RE
.P
If no
.IR command
is specified in command mode,
.BR next
shall be assumed. In input mode, commands shall be recognized by the
escape character, and lines not treated as commands shall be taken as
input for the message.
.P
In command mode, each message shall be assigned a sequential number,
starting with 1.
.P
All messages have a state that shall affect how they are displayed in
the header summary and how they are retained or deleted upon
termination of
.IR mailx .
There is at any time the notion of a
.IR current
message, which shall be marked by a
.BR '>' 
at the beginning of a line in the header summary. When
.IR mailx
is invoked using one of the Receive Mode synopsis forms, the current
message shall be the first new message, if there is a new message, or
the first unread message if there is an unread message, or the first
message if there are any messages, or unspecified if there are no
messages in the mailbox. Each command that takes an optional list of
messages (\fImsglist\fP) or an optional single message (\fImessage\fP)
on which to operate shall leave the current message set to the
highest-numbered message of the messages specified, unless the command
deletes messages, in which case the current message shall be set to the
first undeleted message (that is, a message not in the deleted state)
after the highest-numbered message deleted by the command, if one
exists, or the first undeleted message before the highest-numbered
message deleted by the command, if one exists, or to an unspecified
value if there are no remaining undeleted messages. All messages
shall be in one of the following states:
.IP "\fInew\fR" 10
The message is present in the system mailbox and has not been viewed by
the user or moved to any other state. Messages in state
.IR new
when
.IR mailx
quits shall be retained in the system mailbox.
.IP "\fIunread\fR" 10
The message has been present in the system mailbox for more than one
invocation of
.IR mailx
and has not been viewed by the user or moved to any other state.
Messages in state
.IR unread
when
.IR mailx
quits shall be retained in the system mailbox.
.IP "\fIread\fR" 10
The message has been processed by one of the following commands:
.BR ~f ,
.BR ~m ,
.BR ~F ,
.BR ~M ,
.BR copy ,
.BR mbox ,
.BR next ,
.BR pipe ,
.BR print ,
.BR Print ,
.BR top ,
.BR type ,
.BR Type ,
.BR undelete .
The
.BR delete ,
.BR dp ,
and
.BR dt
commands may also cause the next message to be marked as
.IR read ,
depending on the value of the
.BR autoprint
variable. Messages that are in the system mailbox and in state
.IR read
when
.IR mailx
quits shall be saved in the
.BR mbox ,
unless the internal variable
.BR hold
was set. Messages that are in the
.BR mbox
or in a secondary mailbox and in state
.IR read
when
.IR mailx
quits shall be retained in their current location.
.IP "\fIdeleted\fR" 10
The message has been processed by one of the following commands:
.BR delete ,
.BR dp ,
.BR dt .
Messages in state
.IR deleted
when
.IR mailx
quits shall be deleted. Deleted messages shall be ignored until
.IR mailx
quits or changes mailboxes or they are specified to the undelete
command; for example, the message specification /\c
.IR string
shall only search the subject lines of messages that have not yet been
deleted, unless the command operating on the list of messages is
.BR undelete .
No deleted message or deleted message header shall be displayed by any
.IR mailx
command other than
.BR undelete .
.IP "\fIpreserved\fR" 10
The message has been processed by a
.BR preserve
command. When
.IR mailx
quits, the message shall be retained in its current location.
.IP "\fIsaved\fR" 10
The message has been processed by one of the following commands:
.BR save
or
.BR write .
If the current mailbox is the system mailbox, and the internal variable
.BR keepsave
is set, messages in the state saved shall be saved to the file
designated by the
.IR MBOX
variable (see the ENVIRONMENT VARIABLES section). If the current
mailbox is the system mailbox, messages in the state
.IR saved
shall be deleted from the current mailbox, when the
.BR quit
or
.BR file
command is used to exit the current mailbox.
.P
The header-summary line for each message shall indicate the state of
the message.
.P
Many commands take an optional list of messages (\c
.IR msglist )
on which to operate, which defaults to the current message. A
.IR msglist
is a list of message specifications separated by
<blank>
characters, which can include:
.IP "\fRn\fR" 8
Message number
.IR n .
.IP "\fR+\fR" 8
The next undeleted message, or the next deleted message for the
.BR undelete
command.
.IP "\fR\-\fR" 8
The next previous undeleted message, or the next previous deleted
message for the
.BR undelete
command.
.IP "\fR.\fR" 8
The current message.
.IP "\fR^\fR" 8
The first undeleted message, or the first deleted message for the
.BR undelete
command.
.IP "\fR$\fR" 8
The last message.
.IP "\fR*\fR" 8
All messages.
.IP "\fRn\(hym\fR" 8
An inclusive range of message numbers.
.IP "\fIaddress\fR" 8
All messages from
.IR address ;
any address as shown in a header summary shall be matchable in this
form.
.IP "/\fIstring\fR" 8
All messages with
.IR string
in the subject line (case ignored).
.IP "\fR:c\fR" 8
All messages of type
.IR c ,
where
.IR c
shall be one of:
.RS 8 
.IP "\fRd\fR" 6
Deleted messages.
.IP "\fRn\fR" 6
New messages.
.IP "\fRo\fR" 6
Old messages (any not in state
.IR read
or
.IR new ).
.IP "\fRr\fR" 6
Read messages.
.IP "\fRu\fR" 6
Unread messages.
.RE
.P
Other commands take an optional message (\c
.IR message )
on which to operate, which defaults to the current message. All of the
forms allowed for
.IR msglist
are also allowed for
.IR message ,
but if more than one message is specified, only the first shall be
operated on.
.P
Other arguments are usually arbitrary strings whose usage depends on
the command involved.
.SS "Start-Up in mailx"
.P
At start-up time,
.IR mailx
shall take the following steps in sequence:
.IP " 1." 4
Establish all variables at their stated default values.
.IP " 2." 4
Process command line options, overriding corresponding default values.
.IP " 3." 4
Import any of the
.IR DEAD ,
.IR EDITOR ,
.IR MBOX ,
.IR LISTER ,
.IR PAGER ,
.IR SHELL ,
or
.IR VISUAL
variables that are present in the environment, overriding the
corresponding default values.
.IP " 4." 4
Read
.IR mailx
commands from an unspecified system start-up file, unless the
.BR \-n
option is given, to initialize any internal
.IR mailx
variables and aliases.
.IP " 5." 4
Process the user start-up file of
.IR mailx
commands named in the user
.IR MAILRC
variable.
.P
Most regular
.IR mailx
commands are valid inside start-up files, the most common use being to
set up initial display options and alias lists. The following commands
shall be invalid in a start-up file:
.BR ! ,
.BR edit ,
.BR hold ,
.BR mail ,
.BR preserve ,
.BR reply ,
.BR Reply ,
.BR shell ,
.BR visual ,
.BR Copy ,
.BR followup ,
and
.BR Followup .
Any errors in a start-up file shall either cause
.IR mailx
to terminate with a diagnostic message and a non-zero status or to
continue after writing a diagnostic message, ignoring the remainder of
the lines in the file.
.P
A blank line in a start-up file shall be ignored.
.SS "Internal Variables in mailx"
.P
The following variables are internal
.IR mailx
variables. Each internal variable can be set via the
.IR mailx
.BR set
command at any time. The
.BR unset
and
.BR "set\0no"
.IR name
commands can be used to erase variables.
.P
In the following list, variables shown as:
.sp
.RS 4
.nf

variable
.fi
.P
.RE
.P
represent Boolean values. Variables shown as:
.sp
.RS 4
.nf

variable=\fIvalue\fP
.fi
.P
.RE
.P
shall be assigned string or numeric values. For string values, the
rules in
.IR "Commands in mailx"
concerning filenames and quoting shall also apply.
.P
The defaults specified here may be changed by the unspecified system
start-up file unless the user specifies the
.BR \-n
option.
.IP "\fBallnet\fP" 10
All network names whose login name components match shall be treated as
identical. This shall cause the
.IR msglist
message specifications to behave similarly. The default shall be
.BR noallnet .
See also the
.BR alternates
command and the
.BR metoo
variable.
.IP "\fBappend\fR" 10
Append messages to the end of the
.BR mbox
file upon termination instead of placing them at the beginning. The
default shall be
.BR noappend .
This variable shall not affect the
.BR save
command when saving to
.BR mbox .
.IP "\fBask\fR,\0\fBasksub\fR" 10
Prompt for a subject line on outgoing mail if one is not specified on
the command line with the
.BR \-s
option. The
.BR ask
and
.BR asksub
forms are synonyms; the system shall refer to
.BR asksub
and
.BR noasksub
in its messages, but shall accept
.BR ask
and
.BR noask
as user input to mean
.BR asksub
and
.BR noasksub .
It shall not be possible to set both
.BR ask
and
.BR noasksub ,
or
.BR noask
and
.BR asksub .
The default shall be
.BR asksub ,
but no prompting shall be done if standard input is not a terminal.
.IP "\fBaskbcc\fR" 10
Prompt for the blind copy list. The default shall be
.BR noaskbcc .
.IP "\fBaskcc\fR" 10
Prompt for the copy list. The default shall be
.BR noaskcc .
.IP "\fBautoprint\fR" 10
Enable automatic writing of messages after
.BR delete
and
.BR undelete
commands. The default shall be
.BR noautoprint .
.IP "\fBbang\fR" 10
Enable the special-case treatment of
<exclamation-mark>
characters (\c
.BR '!' )
in escape command lines; see the
.BR escape
command and
.IR "Command Escapes in mailx".
The default shall be
.BR nobang ,
disabling the expansion of
.BR '!' 
in the
.IR command
argument to the
.BR ~!
command and the
.BR ~<! \c
.IR command
escape.
.IP "\fBcmd\fR=\fIcommand\fR" 10
.br
Set the default command to be invoked by the
.BR pipe
command. The default shall be
.BR nocmd .
.IP "\fBcrt\fR=\fInumber\fR" 10
Pipe messages having more than
.IR number
lines through the command specified by the value of the
.IR PAGER
variable. The default shall be
.BR nocrt .
If it is set to null, the value used is implementation-defined.
.IP "\fBdebug\fR" 10
Enable verbose diagnostics for debugging. Messages are not delivered.
The default shall be
.BR nodebug .
.IP "\fBdot\fR" 10
When
.BR dot
is set, a
<period>
on a line by itself during message input from a terminal shall also
signify end-of-file (in addition to normal end-of-file). The default
shall be
.BR nodot .
If
.BR ignoreeof
is set (see below), a setting of
.BR nodot
shall be ignored and the
<period>
is the only method to terminate input mode.
.IP "\fBescape\fR=\fIc\fR" 10
Set the command escape character to be the character
.BR 'c' .
By default, the command escape character shall be
<tilde>.
If
.BR escape
is unset,
<tilde>
shall be used; if it is set to null, command escaping shall be disabled.
.IP "\fBflipr\fR" 10
Reverse the meanings of the
.BR R
and
.BR r
commands. The default shall be
.BR noflipr .
.IP "\fBfolder\fR=\fIdirectory\fR" 10
.br
The default directory for saving mail files. User-specified filenames
beginning with a
<plus-sign>
(\c
.BR '\(pl' )
shall be expanded by preceding the filename with this directory name
to obtain the real pathname. If
.IR directory
does not start with a
<slash>
(\c
.BR '/' ),
the contents of
.IR HOME
shall be prefixed to it. The default shall be
.BR nofolder .
If
.BR folder
is unset or set to null, user-specified filenames beginning with
.BR '\(pl' 
shall refer to files in the current directory that begin with the
literal
.BR '\(pl' 
character. See also
.BR outfolder
below. The
.BR folder
value need not affect the processing of the files named in
.IR MBOX
and
.IR DEAD .
.IP "\fBheader\fR" 10
Enable writing of the header summary when entering
.IR mailx
in Receive Mode. The default shall be
.BR header .
.IP "\fBhold\fR" 10
Preserve all messages that are read in the system mailbox instead of
putting them in the
.BR mbox
save file. The default shall be
.BR nohold .
.IP "\fBignore\fR" 10
Ignore interrupts while entering messages. The default shall be
.BR noignore .
.IP "\fBignoreeof\fR" 10
Ignore normal end-of-file during message input. Input can be
terminated only by entering a
<period>
(\c
.BR '.' )
on a line by itself or by the
.BR ~.
command escape. The default shall be
.BR noignoreeof .
See also
.BR dot
above.
.IP "\fBindentprefix\fR=\fIstring\fR" 10
.br
A string that shall be added as a prefix to each line that is inserted
into the message by the
.BR ~m
command escape. This variable shall default to one
<tab>.
.IP "\fBkeep\fR" 10
When a system mailbox, secondary mailbox, or
.BR mbox
is empty, truncate it to zero length instead of removing it. The
default shall be
.BR nokeep .
.IP "\fBkeepsave\fR" 10
Keep the messages that have been saved from the system mailbox into
other files in the file designated by the variable
.IR MBOX ,
instead of deleting them. The default shall be
.BR nokeepsave .
.IP "\fBmetoo\fR" 10
Suppress the deletion of the login name of the user from the recipient
list when replying to a message or sending to a group. The default
shall be
.BR nometoo .
.IP "\fBonehop\fR" 10
When responding to a message that was originally sent to several
recipients, the other recipient addresses are normally forced to be
relative to the originating author's machine for the response. This
flag disables alteration of the recipients' addresses, improving
efficiency in a network where all machines can send directly to all
other machines (that is, one hop away). The default shall be
.BR noonehop .
.IP "\fBoutfolder\fR" 10
Cause the files used to record outgoing messages to be located in the
directory specified by the
.BR folder
variable unless the pathname is absolute. The default shall be
.BR nooutfolder .
See the
.BR record
variable.
.IP "\fBpage\fR" 10
Insert a
<form-feed>
after each message sent through the pipe created by the
.BR pipe
command. The default shall be
.BR nopage .
.IP "\fBprompt\fR=\fIstring\fR" 10
.br
Set the command-mode prompt to
.IR string .
If
.IR string
is null or if
.BR noprompt
is set, no prompting shall occur. The default shall be to prompt with
the string
.BR \(dq?\0\(dq .
.IP "\fBquiet\fR" 10
Refrain from writing the opening message and version when entering
.IR mailx .
The default shall be
.BR noquiet .
.IP "\fBrecord\fR=\fIfile\fR" 10
Record all outgoing mail in the file with the pathname
.IR file .
The default shall be
.BR norecord .
See also
.BR outfolder
above.
.IP "\fBsave\fR" 10
Enable saving of messages in the dead-letter file on interrupt or
delivery error. See the variable
.IR DEAD
for the location of the dead-letter file. The default shall be
.BR save .
.IP "\fBscreen\fR=\fInumber\fR" 10
.br
Set the number of lines in a screenful of headers for the
.BR headers
and
.BR z
commands. If
.BR screen
is not specified, a value based on the terminal type identified by the
.IR TERM
environment variable, the window size, the baud rate, or some
combination of these shall be used.
.IP "\fBsendwait\fR" 10
Wait for the background mailer to finish before returning. The default
shall be
.BR nosendwait .
.IP "\fBshowto\fR" 10
When the sender of the message was the user who is invoking
.IR mailx ,
write the information from the
.BR To:
line instead of the
.BR From:
line in the header summary. The default shall be
.BR noshowto .
.IP "\fBsign\fR=\fIstring\fR" 10
Set the variable inserted into the text of a message when the
.BR ~a
command escape is given. The default shall be
.BR nosign .
The character sequences
.BR '\et' 
and
.BR '\en' 
shall be recognized in the variable as
<tab>
and
<newline>
characters, respectively. (See also
.BR ~i
in
.IR "Command Escapes in mailx".)
.IP "\fBSign\fR=\fIstring\fR" 10
Set the variable inserted into the text of a message when the
.BR ~A
command escape is given. The default shall be
.BR noSign .
The character sequences
.BR '\et' 
and
.BR '\en' 
shall be recognized in the variable as
<tab>
and
<newline>
characters, respectively.
.IP "\fBtoplines\fR=\fInumber\fR" 10
.br
Set the number of lines of the message to write with the
.BR top
command. The default shall be 5.
.SS "Commands in mailx"
.P
The following
.IR mailx
commands shall be provided. In the following list, header refers to
lines from the message header, as shown in the OUTPUT FILES section.
Header-line refers to lines within the header that begin with one or
more non-white-space characters, immediately followed by a
<colon>
and white space and continuing until the next line beginning with a
non-white-space character or an empty line. Header-field refers to the
portion of a header line prior to the first
<colon>
in that line.
.P
For each of the commands listed below, the command can be entered as
the abbreviation (those characters in the Synopsis command word
preceding the
.BR '[' ),
the full command (all characters shown for the command word, omitting
the
.BR '[' 
and
.BR ']' ),
or any truncation of the full command down to the abbreviation. For
example, the
.BR exit
command (shown as \fBex[it]\fR in the Synopsis) can be entered as
.BR ex ,
.BR exi ,
or
.BR exit .
.P
The arguments to commands can be quoted, using the following methods:
.IP " *" 4
An argument can be enclosed between paired double-quotes (\c
.BR \(dq\^\(dq )
or single-quotes (\c
.BR '\^' );
any white space, shell word expansion, or
<backslash>
characters within the quotes shall be treated literally as part of the
argument. A double-quote shall be treated literally within single-quotes
and \fIvice versa\fP. These special properties of the
<quotation-mark>
characters shall occur only when they are paired at the beginning and
end of the argument.
.IP " *" 4
A
<backslash>
outside of the enclosing quotes shall be discarded and the following
character treated literally as part of the argument.
.IP " *" 4
An unquoted
<backslash>
at the end of a command line shall be discarded and the next line shall
continue the command.
.br
.P
Filenames, where expected, shall be subjected to the following
transformations, in sequence:
.IP " *" 4
If the filename begins with an unquoted
<plus-sign>,
and the
.BR folder
variable is defined (see the
.BR folder
variable), the
<plus-sign>
shall be replaced by the value of the
.BR folder
variable followed by a
<slash>.
If the
.BR folder
variable is unset or is set to null, the filename shall be unchanged.
.IP " *" 4
Shell word expansions shall be applied to the filename (see
.IR "Section 2.6" ", " "Word Expansions").
If more than a single pathname results from this expansion and the
command is expecting one file, the effects are unspecified.
.SS "Declare Aliases"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

a\fB[\fRlias\fB] [\fIalias \fB[\fIaddress\fR...\fB]]\fR
g\fB[\fRroup\fB] [\fIalias \fB[\fIaddress\fR...\fB]]\fR
.fi
.P
.RE
.RE
.P
Add the given addresses to the alias specified by
.IR alias .
The names shall be substituted when
.IR alias
is used as a recipient address specified by the user in an outgoing
message (that is, other recipients addressed indirectly through the
.BR reply
command shall not be substituted in this manner). Mail address alias
substitution shall apply only when the alias string is used as a full
address; for example, when
.BR hlj
is an alias,
.IR hlj@posix.com
does not trigger the alias substitution. If no arguments are given,
write a listing of the current aliases to standard output. If only an
.IR alias
argument is given, write a listing of the specified alias to standard
output. These listings need not reflect the same order of addresses
that were entered.
.SS "Declare Alternatives"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

alt\fB[\fRernates\fB] \fIname\fR...
.fi
.P
.RE
.RE
.P
(See also the
.BR metoo
variable.) Declare a list of alternative names for the user's login.
When responding to a message, these names shall be removed from the
list of recipients for the response. The comparison of names shall be
in a case-insensitive manner. With no arguments,
.BR alternates
shall write the current list of alternative names.
.SS "Change Current Directory"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

cd \fB[\fIdirectory\fB]\fR
ch\fB[\fRdir\fB] [\fIdirectory\fB]\fR
.fi
.P
.RE
.RE
.P
Change directory. If
.IR directory
is not specified, the contents of
.IR HOME
shall be used.
.SS "Copy Messages"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

c\fB[\fRopy\fB] [\fIfile\fB]\fR
c\fB[\fRopy\fB] [\fImsglist\fB] \fIfile\fR
C\fB[\fRopy\fB] [\fImsglist\fB]\fR
.fi
.P
.RE
.RE
.P
Copy messages to the file named by the pathname
.IR file
without marking the messages as saved. Otherwise, it shall be
equivalent to the
.BR save
command.
.P
In the capitalized form, save the specified messages in a file whose
name is derived from the author of the message to be saved, without
marking the messages as saved. Otherwise, it shall be equivalent to
the
.BR Save
command.
.SS "Delete Messages"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

d\fB[\fRelete\fB] [\fImsglist\fB]\fR
.fi
.P
.RE
.RE
.P
Mark messages for deletion from the mailbox. The deletions shall not
occur until
.IR mailx
quits (see the
.BR quit
command) or changes mailboxes (see the
.BR folder
command). If
.BR autoprint
is set and there are messages remaining after the
.BR delete
command, the current message shall be written as described for the
.BR print
command (see the
.BR print
command); otherwise, the
.IR mailx
prompt shall be written.
.SS "Discard Header Fields"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

di\fB[\fRscard\fB] [\fIheader-field\fR...\fB]\fR
ig\fB[\fRnore\fB] [\fIheader-field\fR...\fB]\fR
.fi
.P
.RE
.RE
.P
Suppress the specified header fields when writing messages. Specified
.IR header-fields
shall be added to the list of suppressed header fields. Examples of
header fields to ignore are
.BR status
and
.BR cc .
The fields shall be included when the message is saved. The
.BR Print
and
.BR Type
commands shall override this command. The comparison of header fields
shall be in a case-insensitive manner. If no arguments are specified,
write a list of the currently suppressed header fields to standard
output; the listing need not reflect the same order of header fields
that were entered.
.P
If both
.BR retain
and
.BR discard
commands are given,
.BR discard
commands shall be ignored.
.SS "Delete Messages and Display"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

dp \fB[\fImsglist\fB]\fR
dt \fB[\fImsglist\fB]\fR
.fi
.P
.RE
.RE
.P
Delete the specified messages as described for the
.BR delete
command, except that the
.BR autoprint
variable shall have no effect, and the current message shall be written
only if it was set to a message after the last message deleted by the
command. Otherwise, an informational message to the effect that there
are no further messages in the mailbox shall be written, followed by
the
.IR mailx
prompt.
.SS "Echo a String"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

ec\fB[\fRho\fB] \fIstring\fR ...
.fi
.P
.RE
.RE
.P
Echo the given strings, equivalent to the shell
.IR echo
utility.
.SS "Edit Messages"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

e\fB[\fRdit\fB] [\fImsglist\fB]\fR
.fi
.P
.RE
.RE
.P
Edit the given messages. The messages shall be placed in a temporary
file and the utility named by the
.IR EDITOR
variable is invoked to edit each file in sequence. The default
.IR EDITOR
is unspecified.
.P
The
.BR edit
command does not modify the contents of those messages in the mailbox.
.SS "Exit"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

ex\fB[\fRit\fB]\fR
x\fB[\fRit\fB]\fR
.fi
.P
.RE
.RE
.P
Exit from
.IR mailx
without changing the mailbox. No messages shall be saved in the
.BR mbox
(see also
.BR quit ).
.SS "Change Folder"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

fi\fB[\fRle\fB] [\fIfile\fB]\fR
fold\fB[\fRer\fB] [\fIfile\fB]\fR
.fi
.P
.RE
.RE
.P
Quit (see the
.BR quit
command) from the current file of messages and read in the file named
by the pathname
.IR file .
If no argument is given, the name and status of the current mailbox
shall be written.
.P
Several unquoted special characters shall be recognized when used as
.IR file
names, with the following substitutions:
.IP "\fR%\fR" 8
The system mailbox for the invoking user.
.IP "\fR%\fIuser\fR" 8
The system mailbox for
.IR user .
.IP "\fR#\fR" 8
The previous file.
.IP "\fR&\fR" 8
The current
.BR mbox .
.IP "\fR+\fIfile\fR" 8
The named file in the
.BR folder
directory. (See the
.BR folder
variable.)
.P
The default file shall be the current mailbox.
.SS "Display List of Folders"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

\fRfolders\fR
.fi
.P
.RE
.RE
.P
Write the names of the files in the directory set by the
.BR folder
variable. The command specified by the
.IR LISTER
environment variable shall be used (see the ENVIRONMENT VARIABLES
section).
.SS "Follow Up Specified Messages"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

fo\fB[\fRllowup\fB] [\fImessage\fB]\fR
F\fB[\fRollowup\fB] [\fImsglist\fB]\fR
.fi
.P
.RE
.RE
.P
In the lowercase form, respond to a message, recording the response in
a file whose name is derived from the author of the message. See also
the
.BR save
and
.BR copy
commands and
.BR outfolder .
.P
In the capitalized form, respond to the first message in the
.IR msglist ,
sending the message to the author of each message in the
.IR msglist .
The subject line shall be taken from the first message and the response
shall be recorded in a file whose name is derived from the author of
the first message. See also the
.BR Save
and
.BR Copy
commands and
.BR outfolder .
.P
Both forms shall override the
.BR record
variable, if set.
.SS "Display Header Summary for Specified Messages"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

f\fB[\fRrom\fB] [\fImsglist\fB]\fR
.fi
.P
.RE
.RE
.P
Write the header summary for the specified messages.
.SS "Display Header Summary"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

h\fB[\fReaders\fB] [\fImessage\fB]\fR
.fi
.P
.RE
.RE
.P
Write the page of headers that includes the message specified. If the
.IR message
argument is not specified, the current message shall not change.
However, if the
.IR message
argument is specified, the current message shall become the message
that appears at the top of the page of headers that includes the
message specified. The
.BR screen
variable sets the number of headers per page. See also the
.BR z
command.
.SS "Help"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

hel\fB[\fRp\fB]\fR
?
.fi
.P
.RE
.RE
.P
Write a summary of commands.
.SS "Hold Messages"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

ho\fB[\fRld\fB] [\fImsglist\fB]\fR
pre\fB[\fRserve\fB] [\fImsglist\fB]\fR
.fi
.P
.RE
.RE
.P
Mark the messages in
.IR msglist
to be retained in the mailbox when
.IR mailx
terminates. This shall override any commands that might previously
have marked the messages to be deleted. During the current invocation
of
.IR mailx ,
only the
.BR delete ,
.BR dp ,
or
.BR dt
commands shall remove the
.IR preserve
marking of a message.
.SS "Execute Commands Conditionally"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

i\fB[\fRf\fB]\fR s|r
\fImail-command\fRs
el\fB[\fRse\fB]
\fImail-command\fRs
en\fB[\fRdif\fB]\fR
.fi
.P
.RE
.RE
.P
Execute commands conditionally, where
.BR "if\0s"
executes the following
.IR mail-command s,
up to an
.BR else
or
.BR endif ,
if the program is in Send Mode, and
.BR "if\0r"
shall cause the
.IR mail-command s
to be executed only in Receive Mode.
.SS "List Available Commands"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

l\fB[\fRist\fB]\fR
.fi
.P
.RE
.RE
.P
Write a list of all commands available. No explanation shall be
given.
.SS "Mail a Message"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

m\fB[\fRail\fB] \fIaddress\fR...
.fi
.P
.RE
.RE
.P
Mail a message to the specified addresses or aliases.
.SS "Direct Messages to mbox"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

mb\fB[\fRox\fB] [\fImsglist\fB]\fR
.fi
.P
.RE
.RE
.P
Arrange for the given messages to end up in the
.BR mbox
save file when
.IR mailx
terminates normally. See
.IR MBOX .
See also the
.BR exit
and
.BR quit
commands.
.SS "Process Next Specified Message"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

n\fB[\fRext\fB] [\fImessage\fB]\fR
.fi
.P
.RE
.RE
.P
If the current message has not been written (for example, by the
.BR print
command) since
.IR mailx
started or since any other message was the current message, behave as
if the
.BR print
command was entered. Otherwise, if there is an undeleted message after
the current message, make it the current message and behave as if the
.BR print
command was entered. Otherwise, an informational message to the effect
that there are no further messages in the mailbox shall be written,
followed by the
.IR mailx
prompt. Should the current message location be the result of an
immediately preceding
.BR hold ,
.BR mbox ,
.BR preserve ,
or
.BR touch
command,
.BR next
will act as if the current message has already been written.
.SS "Pipe Message"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

pi\fB[\fRpe\fB] [[\fImsglist\fB] \fIcommand\fB]\fR
| \fB[[\fImsglist\fB] \fIcommand\fB]\fR
.fi
.P
.RE
.RE
.P
Pipe the messages through the given
.IR command
by invoking the command interpreter specified by
.IR SHELL
with two arguments:
.BR \-c
and
.IR command .
(See also
.IR sh
.BR \-c .)
The application shall ensure that the command is given as a single
argument. Quoting, described previously, can be used to accomplish
this. If no arguments are given, the current message shall be piped
through the command specified by the value of the
.BR cmd
variable. If the
.BR page
variable is set, a
<form-feed>
shall be inserted after each message.
.SS "Display Message with Headers"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

P\fB[\fRrint\fB] [\fImsglist\fB]\fR
T\fB[\fRype\fB] [\fImsglist\fB]\fR
.fi
.P
.RE
.RE
.P
Write the specified messages, including all header lines, to standard
output. Override suppression of lines by the
.BR discard ,
.BR ignore ,
and
.BR retain
commands. If
.BR crt
is set, the messages longer than the number of lines specified by the
.BR crt
variable shall be paged through the command specified by the
.IR PAGER
environment variable.
.SS "Display Message"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

p\fB[\fRrint\fB] [\fImsglist\fB]\fR
t\fB[\fRype\fB] [\fImsglist\fB]\fR
.fi
.P
.RE
.RE
.P
Write the specified messages to standard output. If
.BR crt
is set, the messages longer than the number of lines specified by the
.BR crt
variable shall be paged through the command specified by the
.IR PAGER
environment variable.
.SS "Quit"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

q\fB[\fRuit\fB]
\fIend-of-file\fR
.fi
.P
.RE
.RE
.P
Terminate
.IR mailx ,
storing messages that were read in
.BR mbox
(if the current mailbox is the system mailbox and unless
.BR hold
is set), deleting messages that have been explicitly saved (unless
.BR keepsave
is set), discarding messages that have been deleted, and saving all
remaining messages in the mailbox.
.SS "Reply to a Message List"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

R\fB[\fReply\fB] [\fImsglist\fB]\fR
R\fB[\fRespond\fB] [\fImsglist\fB]\fR
.fi
.P
.RE
.RE
.P
Mail a reply message to the sender of each message in the
.IR msglist .
The subject line shall be formed by concatenating
.BR Re: \c
<space>
(unless it already begins with that string) and the subject from the
first message. If
.BR record
is set to a filename, the response shall be saved at the end of that
file.
.P
See also the
.BR flipr
variable.
.SS "Reply to a Message"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

r\fB[\fReply\fB] [\fImessage\fB]\fR
r\fB[\fRespond\fB] [\fImessage\fB]\fR
.fi
.P
.RE
.RE
.P
Mail a reply message to all recipients included in the header of the
message. The subject line shall be formed by concatenating
.BR Re: \c
<space>
(unless it already begins with that string) and the subject from the
message. If
.BR record
is set to a filename, the response shall be saved at the end of that
file.
.P
See also the
.BR flipr
variable.
.SS "Retain Header Fields"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

ret\fB[\fRain\fB] [\fIheader-field\fR...\fB]\fR
.fi
.P
.RE
.RE
.P
Retain the specified header fields when writing messages. This command
shall override all
.BR discard
and
.BR ignore
commands. The comparison of header fields shall be in a
case-insensitive manner. If no arguments are specified, write a list
of the currently retained header fields to standard output; the listing
need not reflect the same order of header fields that were entered.
.SS "Save Messages"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

s\fB[\fRave\fB] [\fIfile\fB]\fR
s\fB[\fRave\fB] [\fImsglist\fB] \fIfile\fR
S\fB[\fRave\fB] [\fImsglist\fB]\fR
.fi
.P
.RE
.RE
.P
Save the specified messages in the file named by the pathname
.IR file ,
or the
.BR mbox
if the
.IR file
argument is omitted. The file shall be created if it does not exist;
otherwise, the messages shall be appended to the file. The message
shall be put in the state
.IR saved ,
and shall behave as specified in the description of the
.IR saved
state when the current mailbox is exited by the
.BR quit
or
.BR file
command.
.P
In the capitalized form, save the specified messages in a file whose
name is derived from the author of the first message. The name of the
file shall be taken to be the author's name with all network addressing
stripped off. See also the
.BR Copy ,
.BR followup ,
and
.BR Followup
commands and
.BR outfolder
variable.
.SS "Set Variables"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

se\fB[\fRt\fB] [\fIname\fB[\fR=\fB[\fIstring\fB]] \fR...\fB] [\fIname\fR=\fInumber \fR...\fB] [\fRno\fIname \fR...\fB]\fR
.fi
.P
.RE
.RE
.P
Define one or more variables called
.IR name .
The variable can be given a null, string, or numeric value. Quoting and
<backslash>-escapes
can occur anywhere in
.IR string ,
as described previously, as if the
.IR string
portion of the argument were the entire argument. The forms
.IR name
and
.IR name =
shall be equivalent to
.IR name =""
for variables that take string values. The
.BR set
command without arguments shall write a list of all defined variables
and their values. The
.BR no
.IR name
form shall be equivalent to
.BR unset
.IR name .
.SS "Invoke a Shell"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

sh\fB[\fRell\fB]\fR
.fi
.P
.RE
.RE
.P
Invoke an interactive command interpreter (see also
.IR SHELL ).
.SS "Display Message Size"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

si\fB[\fRze\fB] [\fImsglist\fB]\fR
.fi
.P
.RE
.RE
.P
Write the size in bytes of each of the specified messages.
.SS "Read mailx Commands From a File"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

so\fB[\fRurce\fB] \fIfile\fR
.fi
.P
.RE
.RE
.P
Read and execute commands from the file named by the pathname
.IR file
and return to command mode.
.SS "Display Beginning of Messages"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

to\fB[\fRp\fB] [\fImsglist\fB]\fR
.fi
.P
.RE
.RE
.P
Write the top few lines of each of the specified messages. If the
.BR toplines
variable is set, it is taken as the number of lines to write. The
default shall be 5.
.SS "Touch Messages"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

tou\fB[\fRch\fB] [\fImsglist\fB]\fR
.fi
.P
.RE
.RE
.P
Touch the specified messages. If any message in
.IR msglist
is not specifically deleted nor saved in a file, it shall be placed in
the
.BR mbox
upon normal termination. See
.BR exit
and
.BR quit .
.SS "Delete Aliases"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

una\fB[\fRlias\fB] [\fIalias\fB]\fR...
.fi
.P
.RE
.RE
.P
Delete the specified alias names. If a specified alias does not exist,
the results are unspecified.
.SS "Undelete Messages"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

u\fB[\fRndelete\fB] [\fImsglist\fB]\fR
.fi
.P
.RE
.RE
.P
Change the state of the specified messages from deleted to read. If
.BR autoprint
is set, the last message of those restored shall be written. If
.IR msglist
is not specified, the message shall be selected as follows:
.IP " *" 4
If there are any deleted messages that follow the current message, the
first of these shall be chosen.
.IP " *" 4
Otherwise, the last deleted message that also precedes the current
message shall be chosen.
.SS "Unset Variables"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

uns\fB[\fRet\fB] \fIname\fR...
.fi
.P
.RE
.RE
.P
Cause the specified variables to be erased.
.SS "Edit Message with Full-Screen Editor"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

v\fB[\fRisual\fB] [\fImsglist\fB]\fR
.fi
.P
.RE
.RE
.P
Edit the given messages with a screen editor. Each message shall be
placed in a temporary file, and the utility named by the
.IR VISUAL
variable shall be invoked to edit each file in sequence. The default
editor shall be
.IR vi .
.P
The
.BR visual
command does not modify the contents of those messages in the mailbox.
.SS "Write Messages to a File"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

w\fB[\fRrite\fB] [\fImsglist\fB] \fIfile\fR
.fi
.P
.RE
.RE
.P
Write the given messages to the file specified by the pathname
.IR file ,
minus the message header. Otherwise, it shall be equivalent to the
.BR save
command.
.SS "Scroll Header Display"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

z\fB[\fR+|-\fB]\fR
.fi
.P
.RE
.RE
.P
Scroll the header display forward (if
.BR '\(pl' 
is specified or if no option is specified) or backward (if
.BR '\-' 
is specified) one screenful. The number of headers written shall be
set by the
.BR screen
variable.
.SS "Invoke Shell Command"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

!\fIcommand\fR
.fi
.P
.RE
.RE
.P
Invoke the command interpreter specified by
.IR SHELL
with two arguments:
.BR \-c
and
.IR command .
(See also
.IR sh
.BR \-c .)
If the
.BR bang
variable is set, each unescaped occurrence of
.BR '!' 
in
.IR command
shall be replaced with the command executed by the previous
.BR !
command or
.BR ~!
command escape.
.SS "Null Command"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

# \fIcomment\fR
.fi
.P
.RE
.RE
.P
This null command (comment) shall be ignored by
.IR mailx .
.SS "Display Current Message Number"
.IP "\fISynopsis\fR:" 10
.sp -1v
.RS 10 
.sp
.RS 4
.nf

=
.fi
.P
.RE
.RE
.P
Write the current message number.
.SS "Command Escapes in mailx"
.P
The following commands can be entered only from input mode, by
beginning a line with the escape character (by default,
<tilde>
(\c
.BR '\(ti' )).
See the
.BR escape
variable description for changing this special character. The format
for the commands shall be:
.sp
.RS 4
.nf

<\fIescape-character\fR><\fIcommand-char\fR><\fIseparator\fR>\fB[\fR<\fIarguments\fR>\fB]\fR
.fi
.P
.RE
.P
where the <\fIseparator\fP> can be zero or more
<blank>
characters.
.P
In the following descriptions, the application shall ensure that the
argument
.IR command
(but not
.IR mailx-command)
is a shell command string. Any string acceptable to the command
interpreter specified by the
.IR SHELL
variable when it is invoked as
.IR SHELL
.BR \-c
.IR command_string
shall be valid. The command can be presented as multiple arguments
(that is, quoting is not required).
.P
Command escapes that are listed with
.IR msglist
or
.IR mailx-command
arguments are invalid in Send Mode and produce unspecified results.
.IP "\fB~!\0\fIcommand\fR" 10
Invoke the command interpreter specified by
.IR SHELL
with two arguments:
.BR \-c
and
.IR command ;
and then return to input mode. If the
.BR bang
variable is set, each unescaped occurrence of
.BR '!' 
in
.IR command
shall be replaced with the command executed by the previous
.BR !
command or
.BR ~!
command escape.
.IP "\fB~.\fR" 10
Simulate end-of-file (terminate message input).
.IP "\fB~:\0\fImailx-command\fR,\0\fB~_\0\fImailx-command\fR" 10
.br
Perform the command-level request.
.IP "\fB~?\fR" 10
Write a summary of command escapes.
.IP "\fB~A\fR" 10
This shall be equivalent to
.BR "~i\0Sign" .
.IP "\fB~a\fR" 10
This shall be equivalent to
.BR "~i\0sign" .
.IP "\fB~b\0\fIname\fR.\|.\|." 10
Add the
.IR name s
to the blind carbon copy (\c
.BR Bcc )
list.
.IP "\fB~c\0\fIname\fR.\|.\|." 10
Add the
.IR name s
to the carbon copy (\c
.BR Cc )
list.
.IP "\fB~d\fR" 10
Read in the dead-letter file. See
.IR DEAD
for a description of this file.
.IP "\fB~e\fR" 10
Invoke the editor, as specified by the
.IR EDITOR
environment variable, on the partial message.
.IP "\fB~f\0[\fImsglist\fB]\fR" 10
Forward the specified messages. The specified messages shall be
inserted into the current message without alteration. This command
escape also shall insert message headers into the message with field
selection affected by the
.BR discard ,
.BR ignore ,
and
.BR retain
commands.
.IP "\fB~F\0[\fImsglist\fB]\fR" 10
This shall be the equivalent of the
.BR ~f
command escape, except that all headers shall be included in the
message, regardless of previous
.BR discard ,
.BR ignore ,
and
.BR retain
commands.
.IP "\fB~h\fR" 10
If standard input is a terminal, prompt for a
.BR Subject
line and the
.BR To ,
.BR Cc ,
and
.BR Bcc
lists. Other implementation-defined headers may also be presented
for editing. If the field is written with an initial value, it can be
edited as if it had just been typed.
.IP "\fB~i\0\fIstring\fR" 10
Insert the value of the named variable, followed by a
<newline>,
into the text of the message. If the string is unset or null, the
message shall not be changed.
.IP "\fB~m\0[\fImsglist\fB]\fR" 10
Insert the specified messages into the message, prefixing non-empty
lines with the string in the
.BR indentprefix
variable. This command escape also shall insert message headers into
the message, with field selection affected by the
.BR discard ,
.BR ignore ,
and
.BR retain
commands.
.IP "\fB~M\0[\fImsglist\fB]\fR" 10
This shall be the equivalent of the
.BR ~m
command escape, except that all headers shall be included in the
message, regardless of previous
.BR discard ,
.BR ignore ,
and
.BR retain
commands.
.IP "\fB~p\fR" 10
Write the message being entered. If the message is longer than
.BR crt
lines (see
.IR "Internal Variables in mailx"),
the output shall be paginated as described for the
.IR PAGER
variable.
.IP "\fB~q\fR" 10
Quit (see the
.BR quit
command) from input mode by simulating an interrupt. If the body of
the message is not empty, the partial message shall be saved in the
dead-letter file. See
.IR DEAD
for a description of this file.
.IP "\fB~r\0\fIfile\fR,\0\fB~<\0\fIfile\fR,\0\fB~r\0!\fIcommand\fR,\0\fB~<\0!\fIcommand\fR" 10
.br
Read in the file specified by the pathname
.IR file .
If the argument begins with an
<exclamation-mark>
(\c
.BR '!' ),
the rest of the string shall be taken as an arbitrary system command;
the command interpreter specified by
.IR SHELL
shall be invoked with two arguments:
.BR \-c
and
.IR command .
The standard output of
.IR command
shall be inserted into the message.
.IP "\fB~s\0\fIstring\fR" 10
Set the subject line to
.IR string .
.IP "\fB~t\0\fIname\fR.\|.\|." 10
Add the given
.IR name s
to the
.BR To
list.
.IP "\fB~v\fR" 10
Invoke the full-screen editor, as specified by the
.IR VISUAL
environment variable, on the partial message.
.IP "\fB~w\0\fIfile\fR" 10
Write the partial message, without the header, onto the file named by
the pathname
.IR file .
The file shall be created or the message shall be appended to it if the
file exists.
.IP "\fB~x\fR" 10
Exit as with
.BR ~q ,
except the message shall not be saved in the dead-letter file.
.IP "\fB~|\0\fIcommand\fR" 10
Pipe the body of the message through the given
.IR command
by invoking the command interpreter specified by
.IR SHELL
with two arguments:
.BR \-c
and
.IR command .
If the
.IR command
returns a successful exit status, the standard output of the command
shall replace the message. Otherwise, the message shall remain
unchanged. If the
.IR command
fails, an error message giving the exit status shall be written.
.br
.SH "EXIT STATUS"
When the
.BR \-e
option is specified, the following exit values are returned:
.IP "\00" 6
Mail was found.
.IP >0 6
Mail was not found or an error occurred.
.P
Otherwise, the following exit values are returned:
.IP "\00" 6
Successful completion; note that this status implies that all messages
were
.IR sent ,
but it gives no assurances that any of them were actually
.IR delivered .
.IP >0 6
An error occurred.
.SH "CONSEQUENCES OF ERRORS"
When in
input mode (Receive Mode)
or Send Mode:
.IP " *" 4
If an error is encountered processing an input line beginning
with a
<tilde>
(\c
.BR '\(ti' )
character,
(see
.IR "Command Escapes in mailx"),
a diagnostic message shall be written to standard error, and the
message being composed may be modified, but this condition shall not
prevent the message from being sent.
.IP " *" 4
Other errors shall prevent the sending of the message.
.P
When in command mode:
.IP " *" 4
Default.
.LP
.IR "The following sections are informative."
.SH "APPLICATION USAGE"
Delivery of messages to remote systems requires the existence of
communication paths to such systems. These need not exist.
.P
Input lines are limited to
{LINE_MAX}
bytes, but mailers between systems may impose more severe line-length
restrictions. This volume of POSIX.1\(hy2017 does not place any restrictions on the length of
messages handled by
.IR mailx ,
and for delivery of local messages the only limitations should be the
normal problems of available disk space for the target mail file. When
sending messages to external machines, applications are advised to
limit messages to less than 100\|000 bytes because some mail gateways
impose message-length restrictions.
.P
The format of the system mailbox is intentionally unspecified. Not all
systems implement system mailboxes as flat files, particularly with the
advent of multimedia mail messages. Some system mailboxes may be
multiple files, others records in a database. The internal format of
the messages themselves is specified with the historical format from
Version\ 7, but only after the messages have been saved in some file
other than the system mailbox. This was done so that many historical
applications expecting text-file mailboxes are not broken.
.P
Some new formats for messages can be expected in the future, probably
including binary data, bit maps, and various multimedia objects. As
described here,
.IR mailx
is not prohibited from handling such messages, but it must store them
as text files in secondary mailboxes (unless some extension, such as a
variable or command line option, is used to change the stored format).
Its method of doing so is implementation-defined and might include
translating the data into text file-compatible or readable form or
omitting certain portions of the message from the stored output.
.P
The
.BR discard
and
.BR ignore
commands are not inverses of the
.BR retain
command. The
.BR retain
command discards all header-fields except those explicitly retained.
The
.BR discard
command keeps all header-fields except those explicitly discarded. If
headers exist on the retained header list,
.BR discard
and
.BR ignore
commands are ignored.
.SH EXAMPLES
None.
.SH RATIONALE
The standard developers felt strongly that a method for applications to
send messages to specific users was necessary. The obvious example is a
batch utility, running non-interactively, that wishes to communicate
errors or results to a user. However, the actual format, delivery
mechanism, and method of reading the message are clearly beyond the
scope of this volume of POSIX.1\(hy2017.
.P
The intent of this command is to provide a simple, portable interface
for sending messages non-interactively. It merely defines a
``front-end'' to the historical mail system. It is suggested that
implementations explicitly denote the sender and recipient in the body
of the delivered message. Further specification of formats for either
the message envelope or the message itself were deliberately not made,
as the industry is in the midst of changing from the current standards
to a more internationalized standard and it is probably incorrect, at
this time, to require either one.
.P
Implementations are encouraged to conform to the various delivery
mechanisms described in the CCITT X.400 standards or to the equivalent
Internet standards, described in Internet Request for Comment (RFC)
documents RFC\ 819, RFC\ 920, RFC\ 921, RFC\ 1123, and RFC\ 5322 (which
succeeded RFC\ 822).
.P
Many historical systems modified each body line that started with
.BR "From\0"
by prefixing the
.BR 'F' 
with
.BR '>' .
It is unnecessary, but allowed, to do that when the string does not
follow a blank line because it cannot be confused with the next
header.
.P
The
.BR edit
and
.BR visual
commands merely edit the specified messages in a temporary file. They
do not modify the contents of those messages in the mailbox; such a
capability could be added as an extension, such as by using different
command names.
.P
The restriction on a subject line being
{LINE_MAX}\-10
bytes is based on the historical format that consumes 10 bytes for
.BR "Subject:\0"
and the trailing
<newline>.
Many historical mailers that a message may encounter on other systems
are not able to handle lines that long, however.
.P
Like the utilities
.IR logger
and
.IR lp ,
.IR mailx
admittedly is difficult to test. This was not deemed sufficient
justification to exclude this utility from this volume of POSIX.1\(hy2017. It is also arguable
that it is, in fact, testable, but that the tests themselves are not
portable.
.P
When
.IR mailx
is being used by an application that wishes to receive the results as
if none of the User Portability Utilities option features were
supported, the
.IR DEAD
environment variable must be set to
.BR /dev/null .
Otherwise, it may be subject to the file creations described in
.IR mailx
ASYNCHRONOUS EVENTS. Similarly, if the
.IR MAILRC
environment variable is not set to
.BR /dev/null ,
historical versions of
.IR mailx
and
.IR Mail
read initialization commands from a file before processing begins.
Since the initialization that a user specifies could alter the contents
of messages an application is trying to send, such applications must
set
.IR MAILRC
to
.BR /dev/null .
.P
The description of
.IR LC_TIME
uses ``may affect'' because many historical implementations do not or
cannot manipulate the date and time strings in the incoming mail
headers. Some headers found in incoming mail do not have enough
information to determine the timezone in which the mail originated,
and, therefore,
.IR mailx
cannot convert the date and time strings into the internal form that
then is parsed by routines like
\fIstrftime\fR()
that can take
.IR LC_TIME
settings into account. Changing all these times to a user-specified
format is allowed, but not required.
.P
The paginator selected when
.IR PAGER
is null or unset is partially unspecified to allow the System V
historical practice of using
.IR pg
as the default. Bypassing the pagination function, such as by declaring
that
.IR cat
is the paginator, would not meet with the intended meaning of this
description. However, any ``portable user'' would have to set
.IR PAGER
explicitly to get his or her preferred paginator on all systems. The
paginator choice was made partially unspecified, unlike the
.IR VISUAL
editor choice (mandated to be
.IR vi )
because most historical pagers follow a common theme of user input,
whereas editors differ dramatically.
.P
Options to specify addresses as
.BR cc
(carbon copy) or
.BR bcc
(blind carbon copy) were considered to be format details and were
omitted.
.P
A zero exit status implies that all messages were
.IR sent ,
but it gives no assurances that any of them were actually
.IR delivered .
The reliability of the delivery mechanism is unspecified and is an
appropriate marketing distinction between systems.
.P
In order to conform to the Utility Syntax Guidelines, a solution was
required to the optional
.IR file
option-argument to
.BR \-f .
By making
.IR file
an operand, the guidelines are satisfied and users remain portable.
However, it does force implementations to support usage such as:
.sp
.RS 4
.nf

mailx -fin mymail.box
.fi
.P
.RE
.P
The
.BR no
.IR name
method of unsetting variables is not present in all historical systems,
but it is in System V and provides a logical set of commands
corresponding to the format of the display of options from the
.IR mailx
.IR set
command without arguments.
.P
The
.BR ask
and
.BR asksub
variables are the names selected by BSD and System V, respectively, for
the same feature. They are synonyms in this volume of POSIX.1\(hy2017.
.P
The
.IR mailx
.IR echo
command was not documented in the BSD version and has been omitted here
because it is not obviously useful for interactive users.
.P
The default prompt on the System V
.IR mailx
is a
<question-mark>,
on BSD
.IR Mail
an
<ampersand>.
Since this volume of POSIX.1\(hy2017 chose the
.IR mailx
name, it kept the System V default, assuming that BSD users would not
have difficulty with this minor incompatibility (that they can
override).
.P
The meanings of
.BR r
and
.BR R
are reversed between System V
.IR mailx
and SunOS
.IR Mail .
Once again, since this volume of POSIX.1\(hy2017 chose the
.IR mailx
name, it kept the System V default, but allows the SunOS user to
achieve the desired results using
.BR flipr ,
an internal variable in System V
.IR mailx ,
although it has not been documented in the SVID.
.P
The
.BR indentprefix
variable, the
.BR retain
and
.BR unalias
commands, and the
.BR ~F
and
.BR ~M
command escapes were adopted from 4.3 BSD
.IR Mail .
.P
The
.BR version
command was not included because no sufficiently general specification
of the version information could be devised that would still be useful
to a portable user. This command name should be used by suppliers who
wish to provide version information about the
.IR mailx
command.
.P
The ``implementation-specific (unspecified) system start-up file''
historically has been named
.BR /etc/mailx.rc ,
but this specific name and location are not required.
.P
The intent of the wording for the
.BR next
command is that if any command has already displayed the current
message it should display a following message, but, otherwise, it
should display the current message. Consider the command sequence:
.sp
.RS 4
.nf

next 3
delete 3
next
.fi
.P
.RE
.P
where the
.BR autoprint
option was not set. The normative text specifies that the second
.BR next
command should display a message following the third message, because
even though the current message has not been displayed since it was set
by the
.BR delete
command, it has been displayed since the current message was anything
other than message number 3. This does not always match historical
practice in some implementations, where the command file address
followed by
.BR next
(or the default command) would skip the message for which the user had
searched.
.SH "FUTURE DIRECTIONS"
None.
.SH "SEE ALSO"
.IR "Chapter 2" ", " "Shell Command Language",
.IR "\fIed\fR\^",
.IR "\fIls\fR\^",
.IR "\fImore\fR\^",
.IR "\fIvi\fR\^"
.P
The Base Definitions volume of POSIX.1\(hy2017,
.IR "Chapter 8" ", " "Environment Variables",
.IR "Section 12.2" ", " "Utility Syntax Guidelines"
.\"
.SH COPYRIGHT
Portions of this text are reprinted and reproduced in electronic form
from IEEE Std 1003.1-2017, Standard for Information Technology
-- Portable Operating System Interface (POSIX), The Open Group Base
Specifications Issue 7, 2018 Edition,
Copyright (C) 2018 by the Institute of
Electrical and Electronics Engineers, Inc and The Open Group.
In the event of any discrepancy between this version and the original IEEE and
The Open Group Standard, the original IEEE and The Open Group Standard
is the referee document. The original Standard can be obtained online at
http://www.opengroup.org/unix/online.html .
.PP
Any typographical or formatting errors that appear
in this page are most likely
to have been introduced during the conversion of the source files to
man page format. To report such errors, see
https://www.kernel.org/doc/man-pages/reporting_bugs.html .
